import request from '../utils/request'

/**
 * 获取问题的回答列表
 * @param {Number} questionId - 问题ID
 * @param {Object} params - 查询参数
 * @returns {Promise}
 */
export function getAnswerList(questionId, params) {
  return getAnswerPage(questionId, params);
}

/**
 * 获取问题的回答列表（分页）
 * @param {Number} questionId - 问题ID
 * @param {Object} params - 查询参数
 * @returns {Promise}
 */
export function getAnswerPage(questionId, params) {
  return request({
    url: `/answers/question/${questionId}`,
    method: 'get',
    params
  })
}

/**
 * 创建回答
 * @param {Object} data - 回答参数
 * @returns {Promise}
 */
export function createAnswer(data) {
  return request({
    url: '/answers',
    method: 'post',
    data
  })
}

/**
 * 更新回答
 * @param {Object} data - 回答参数
 * @returns {Promise}
 */
export function updateAnswer(data) {
  return request({
    url: `/answers/${data.id}`,
    method: 'put',
    data
  })
}

/**
 * 删除回答
 * @param {Number} id - 回答ID
 * @returns {Promise}
 */
export function deleteAnswer(id) {
  return request({
    url: `/answers/${id}`,
    method: 'delete'
  })
}

/**
 * 采纳回答
 * @param {Number} id - 回答ID
 * @returns {Promise}
 */
export function acceptAnswer(id) {
  return request({
    url: `/answers/${id}/accept`,
    method: 'put'
  })
}

/**
 * 点赞回答
 * @param {Number} id - 回答ID
 * @returns {Promise}
 */
export function voteAnswer(id) {
  return request({
    url: `/answers/${id}/vote`,
    method: 'put'
  })
}

/**
 * 取消点赞
 * @param {Number} id - 回答ID
 * @returns {Promise}
 */
export function cancelVote(id) {
  return request({
    url: `/answers/${id}/vote`,
    method: 'delete'
  })
} 